﻿<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%option explicit%>
<%
Dim RZ_IN
RZ_IN=1
%>
<!--#include file="../conn.inc.asp" -->
<!--#include file="admin_inc/admin.function.asp" -->
<!--#include file="admin_inc/admin.sqlfunction.asp" -->
<%
'作者：山林客（ah_bill）
'博客：http://ruizhinet.blog.163.com
'网站：http://www.ruizhinet.cn
'本信息不会影响您网站的正常访问，请保留
checkadmin(1)
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>模块列表</title>
<link type="text/css" href="style/style.css" rel="stylesheet" rev="stylesheet"/>
<script type="text/javascript" language="javascript" src="admin_js/common.js"></script>
</head>
<body>
<br/>
<form name="rzform1" action="manage_template.asp" method="post">
<div class="addrecord">

&nbsp;&nbsp;&nbsp;<a href="manage_template_dir.asp">新建模板</a>
</div>
</form>
<br/><div style="width:600px;margin:0px auto;color:red;"><br/>1.这里创建的模块不会被静态化，主要是一些由访客动态输入参数的一些模块，例如首页的商品列表。<br/>2.访问路径之后还可以跟一些参数，例如：?modelname=test&path=237
<br/>
3.“系统请求参数”为该模块要传入的参数，这主要是为了安全考虑，例如，对于一个要动态获取分类路径的模块，假如恶意用户不传入该参数值，有可能将所有记录都显示出来，而不是特定分类的记录。请使用“选择”按钮来选择。
<br/>
4.模板文件应存放在对应的模板目录中，例如，对于旧模板首页商品列表，应将model_indexproducts.html放在classic目录下。
</div><br/>

<form name="rzform" action="?act=save" method="post" id="rzform">
<input type="hidden" name="listtype" value="model"/>
<table cellspacing="0" cellpadding="0" class="table_800">
<tr>
<th>选择</th>
<th>惟一标识</th>
<th>模块名称（中文）</th>
<th>模块名称（英文）</th>
<th>系统请求参数</th>
<th>模板(<a href="manage_template.asp" onclick="alert('注意文件名要使用model_开头');"><span style="color:red;">新建模板文件</span></a>)</th>
<th>访问路径</th>
</tr>
<%
dim page,sql,MyPage,rs
page=GetIntQueryString("page")
act=HTMLEncode(request("act"))
sql="select * from c_model order by id"
if page<=1 then
page = 1
end if
Set MyPage = New RZPage
MyPage.SetSQL = sql
MyPage.PageSize = 20
MyPage.SetCss_PreNext="nextprev"
MyPage.SetCss_NumPage="pagenum"
MyPage.SetCss_CurrentPage="currentpage"
Set rs = MyPage.GetRS()
dim i
For i=1 To MyPage.PageSize
If Not rs.EOF Then 
%> 
<tr class="row">
<td><input type="checkbox" name="id" id="id" value="<%=rs("id")%>"  onclick="chkRow(this);"/></td>
<td><input type="text" id="modelname_<%=rs("id")%>" name="modelname_<%=rs("id")%>"  value="<%=rs("modelname")%>" maxlength="30" size="15"/></td>
<td><input type="text" id="description_chn_<%=rs("id")%>" name="description_chn_<%=rs("id")%>" value="<%=rs("description_chn")%>" size="15"/></td>
<td><input type="text" id="description_eng_<%=rs("id")%>" name="description_eng_<%=rs("id")%>" value="<%=rs("description_eng")%>" size="15"/></td>
<td><input type="text" id="params_<%=rs("id")%>" name="params_<%=rs("id")%>" value="<%=rs("params")%>" size="15"/><input type="button" onclick="openWin('selectids.asp?idbox=params_<%=rs("id")%>&act=params',450,500);" value="选择"/></td>
<%
Dim querystr,parr,pi
querystr=""
If rs("params")<>"" Then 
parr=Split(rs("params"),",")
For pi=0 To UBound(parr)
querystr=querystr&"&"&parr(pi)&"=参数值"
Next 
End If 
%>
<td>
<input type="text" id="template_<%=rs("id")%>" name="template_<%=rs("id")%>" value="<%=rs("template")%>" size="20" onclick="this.select();"/>
</td>
<td>
<input name="show" onfocus="this.select();" onclick="this.select();" value="<%="model.asp?modelname="&rs("modelname")&querystr%>" size="15"/>
</tr>
<%
rs.Movenext
Else
Exit For
End If
Next
%>
<tr class="row">
<td>新建</td>
<td><input type="text" id="rz_modelname" name="rz_modelname" value="" maxlength="30" size="15"/></td>
<td><input type="text" id="rz_description_chn" name="rz_description_chn" value="" size="15"/></td>
<td><input type="text" id="rz_description_eng" name="rz_description_eng" value="" size="15"/></td>
<td><input type="text" id="rz_params" name="rz_params" value="" size="15"/><input type="button" onclick="openWin('selectids.asp?idbox=rz_params&act=params',450,500);" value="选择"/></td>
<td>
<input type="text" id="rz_template" name="rz_template" value="" size="20"/>
</td>
<td>（请先<a href="manage_template.asp" onclick="alert('注意文件名要使用model_开头');"><span style="color:red;">新建模板文件</span></a>）</td>
</tr>
<tr>
<td colspan="7" class="tdcenter">
<input name="selectall" type="checkbox" id="selectall" value="" onclick="selectAll();" />全选&nbsp;&nbsp;&nbsp;<input type="submit" class="btn"  value="保存"/>&nbsp;&nbsp;&nbsp;<input type="button"  class="btn"  name="del" onclick="deleteselect();" value="删除"/>
</td>
</tr>
</table>
</form>
<div id="bottompage">
<%MyPage.ShowPage()%>
<span class="recordcount">
<%MyPage.ShowPageInfo()%>
</span>
</div>
</body>
</html>

<%
dim act
act=trim(request.QueryString("act"))
If act="save" Then
	Call Save()
End If
Sub Save()
Dim x,modelname,description_chn,description_eng,params,template,id
For Each x In Request.Form
If Left(x,10)="modelname_" Then 
id=Mid(x,11)
modelname=HTMLEncode(Trim(request.Form(x)))
description_chn=HTMLEncode(Trim(request.Form("description_chn_"&id)))
description_eng=HTMLEncode(Trim(request.Form("description_eng_"&id)))
params=Trim(request.Form("params_"&id))
template=HTMLEncode(Trim(request.Form("template_"&id)))
conn.Execute("update [c_model] set modelname='"&modelname&"', description_chn='"&description_chn&"', description_eng='"&description_eng&"', template='"&template&"', params='"&params&"' where id="&id&"")
End If 
Next

Dim rz_modelname,rz_description_chn,rz_description_eng,rz_template, rz_params
rz_modelname=HTMLEncode(request.Form("rz_modelname"))
rz_description_chn=HTMLEncode(request.Form("rz_description_chn"))
rz_description_eng=HTMLEncode(request.Form("rz_description_eng"))
rz_template=HTMLEncode(request.Form("rz_template"))
rz_params=HTMLEncode(request.Form("rz_params"))
If rz_modelname<>"" And rz_description_chn<>"" Then 
	Dim rs,sql,test
	test=True
	Set rs = Server.CreateObject("ADODB.Recordset")
	sql = "select * from [c_model] where modelname='"&rz_modelname&"'"
	rs.open sql,conn,1,1
	If not rs.eof Then 
		test=False
	End If
	rs.close
	Set rs=Nothing 
	If test=False then
		response.write("<script type='text/javascript' language='javascript'>alert('唯一标识符，请使用其他标识');</script>")
		response.End
	Else  
		conn.Execute("insert into [c_model](modelname,description_chn,description_eng,template,params) values('"&rz_modelname&"','"&rz_description_chn&"','"&rz_description_eng&"','"&rz_template&"','"&params&"')")
	End If 
End If 
Call SetRZModels()
response.redirect("model_list.asp")
End Sub
%>